﻿using System;

namespace JTLeigh.Commerce.Spencer.Features.ProductFeedback.Common.Entities
{

    /// <summary>
    /// Represents a video attached to a product review for a single product by a single customer. 
    /// </summary>
	public class ProductReviewVideo
	{

		#region Properties

		/// <summary>
		/// Gets or sets the product feedback identifier of the product feedback that the 
		/// review video is a part of.
		/// </summary>
		/// <value>A product feedback identifier <see cref="Guid"/>.</value>
		public Guid FeedbackId { get; set; }

        /// <summary>
        /// Gets or sets the still path.
        /// </summary>
        public string StillPath { get; set; }

        /// <summary>
        /// Gets or sets the width of the still.
        /// </summary>
        /// <value>An <see cref="Int16"/> pixel width.</value>
        public short StillWidth { get; set; }

        /// <summary>
        /// Gets or sets the height of the still.
        /// </summary>
        /// <value>An <see cref="Int16"/> pixel height.</value>
        public short StillHeight { get; set; }

        /// <summary>
        /// Gets or sets the video path.
        /// </summary>
        public string VideoPath { get; set; }

        /// <summary>
        /// Gets or sets the width of the video.
        /// </summary>
        /// <value>An <see cref="Int16"/> pixel width.</value>
        public short VideoWidth { get; set; }

        /// <summary>
        /// Gets or sets the height of the video.
        /// </summary>
        /// <value>An <see cref="Int16"/> pixel height.</value>
        public short VideoHeight { get; set; }

        /// <summary>
        /// Gets or sets the length of the video in seconds.
        /// </summary>
        public short Length { get; set; }

        /// <summary>
        /// Gets or sets the transcript of the video, or <see langword="null"/> if the video 
        /// doesn't have a transcript.
        /// </summary>
        public string Transcript { get; set; }

        #endregion // Properties

	}

}
